package com.ruoyi.asms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.asms.domain.vo.AssetRepairNumberVo;
import com.ruoyi.asms.domain.vo.AssetTypeFaultNumberVo;
import com.ruoyi.common.core.domain.AsmsAssetFullInfo;
import com.ruoyi.common.core.domain.TreeSelect;

import java.util.List;

/**
 * 资产售后维护详细信息Service接口
 * 
 * @author yfkj
 * @date 2021-10-28
 */

public interface IAsmsAssetFullInfoService  extends IService<AsmsAssetFullInfo>
{
    /**
     * 查询资产售后维护详细信息
     * 
     * @param id 资产售后维护详细信息主键
     * @return 资产售后维护详细信息
     */
    public AsmsAssetFullInfo selectAsmsAssetFullInfoById(Long id);

    /**
     * 查询资产售后维护详细信息列表
     * 
     * @param asmsAssetFullInfo 资产售后维护详细信息
     * @return 资产售后维护详细信息集合
     */
    public List<AsmsAssetFullInfo> selectAsmsAssetFullInfoList(AsmsAssetFullInfo asmsAssetFullInfo);

    /**
     * 新增资产售后维护详细信息
     * 
     * @param asmsAssetFullInfo 资产售后维护详细信息
     * @return 结果
     */
    public int insertAsmsAssetFullInfo(AsmsAssetFullInfo asmsAssetFullInfo);

    /**
     * 修改资产售后维护详细信息
     * 
     * @param asmsAssetFullInfo 资产售后维护详细信息
     * @return 结果
     */
    public int updateAsmsAssetFullInfo(AsmsAssetFullInfo asmsAssetFullInfo);

    /**
     * 批量删除资产售后维护详细信息
     * 
     * @param ids 需要删除的资产售后维护详细信息主键集合
     * @return 结果
     */
    public int deleteAsmsAssetFullInfoByIds(Long[] ids);

    /**
     * 删除资产售后维护详细信息信息
     * 
     * @param id 资产售后维护详细信息主键
     * @return 结果
     */
    public int deleteAsmsAssetFullInfoById(Long id);




    /**
     * 根据资产类型分故障类型数量统计
     */

    public AssetTypeFaultNumberVo getFaultNumberByAssetType(TreeSelect tree);

    public AssetRepairNumberVo getRepairResultByDept(TreeSelect tree);
}
